package com.ruoyi.pm.service;

import com.ruoyi.pm.domain.ExcPortConfig;

import java.util.List;

/**
 * 接口参数配置Service接口
 *
 * @author ruoyi
 * @date 2022-01-20
 */
public interface IExcPortConfigService {
    /**
     * 查询接口参数配置
     *
     * @param id 接口参数配置主键
     * @return 接口参数配置
     */
    public ExcPortConfig selectExcPortConfigById(Long id);

    /**
     * 查询接口参数配置列表
     *
     * @param portId 接口Id
     * @return 接口参数配置集合
     */
    public List<ExcPortConfig> selectExcPortConfigListByPortIdAndType(Long portId,String type);

    /**
     * 查询接口参数配置列表
     *
     * @param excPortConfig 接口参数配置
     * @return 接口参数配置集合
     */
    public List<ExcPortConfig> selectExcPortConfigList(ExcPortConfig excPortConfig);

    /**
     * 新增接口参数配置
     *
     * @param excPortConfig 接口参数配置
     * @return 结果
     */
    public int insertExcPortConfig(ExcPortConfig excPortConfig);

    /**
     * 新增接口参数配置
     *
     * @param excPortConfigList 接口参数配置集合
     * @return 结果
     */
    public int insertExcPortConfigList(List<ExcPortConfig> excPortConfigList,Long portId);

    /**
     * 修改接口参数配置
     *
     * @param excPortConfig 接口参数配置
     * @return 结果
     */
    public int updateExcPortConfig(ExcPortConfig excPortConfig);

    /**
     * 修改排序
     *
     * @param excPortConfigs 需要排序的两个集合
     * @return 结果
     */
    public int updateOrderNum(List<ExcPortConfig> excPortConfigs);

    /**
     * 批量删除接口参数配置
     *
     * @param ids 需要删除的接口参数配置主键集合
     * @return 结果
     */
    public int deleteExcPortConfigByIds(Long[] ids);

    /**
     * 批量删除接口参数配置
     *
     * @param portId 接口id
     * @param type 参数类型
     * @return 结果
     */
    public int delByPortIdAndType(Long portId, String type);

    /**
     * 删除接口参数配置信息
     *
     * @param id 接口参数配置主键
     * @return 结果
     */
    public int deleteExcPortConfigById(Long id);

    /**
     * 删除接口参数配置信息
     *
     * @param portId 接口Id
     * @return 结果
     */
    public int deleteExcPortConfigByPortId(Long portId);

    /**
     * 报文导入
     *
     * @param excPortConfig 接口参数配置
     * @param saveType 1全量添加，2增量添加
     */
    public void saveJsonData(ExcPortConfig excPortConfig,String saveType);
}
